Reaqtor is a framework for reliable, stateful, distributed, and scalable event processing based on Reactive Extensions (Rx).
Reaqtor has been in development for over 10 years. It is the evolution of the Reactive Extensions & powers services across Bing and M365.
Reaqtor is part of the .NET Foundation.
Reaqtor is available under the MIT open source license.
To build Reaqtor, you will need to install the .NET SDK (version 5.0 or later). Clone this repo, and in the root folder run this command:
dotnet build All.sln
Alternatively, if you use Visual Studio 2019, then as long as you have enabled the .NET SDK and .NET 5 runtimes in the Visual Studio installer, you can open that same All.sln
file in Visual Studio and build it in the usual way.
Many of the examples in the documentation in this repository take the form of notebooks, to make the examples interactively runnable. Since Reaqtor is a .NET technology, these notebooks contain C#, so you'll need a Jupyter notebook editor with support for a .NET kernel. For example, you use Visual Studio Code with the .NET Interactive Notebooks extension. You can install Visual Studio Code from https://code.visualstudio.com/ and then you can install the free .NET Interactive Notebook extension from the VS Code marketplace.
With these installed, you will be able to open any of the .ipynb
files in this repository. For example, in the Reaqtor/Samples/IoT/Reaqtor.IoT folder, there are two such files. When you open one, VS Code might ask you whether you want to trust the file. You will need to indicate that you do if you want to run the code in a notebook. If you had already installed tools in Visual Studio Code for running Python notebooks, you may see a prompt asking which notebook kernel to use. Select .NET Interactive
(and not a Python kernel). You will then be able to run the C# code in any of the code cells in the notebook. (You will need to have built Reaqtor first for this to work, because these various example notebooks load the libraries built by the source in this repository.)
We appreciate community contributions to code repositories open sourced by the .NET Foundation. By signing a contributor license agreement, we ensure that the community is free to use your contributions.
The .NET Foundation Contributor License Agreement (CLA) document is available for review as a PDF.
When you contribute to a .NET Foundation open source project on GitHub with a new pull request, a bot will evaluate whether you have signed the CLA. If required, the bot will comment on the pull request, including a link to this system to accept the agreement.
This project has adopted a code of conduct adapted from the Contributor Covenant to clarify expected behavior in our community. This code of conduct has been adopted by many other projects. For more information see the Code of Conduct FAQ or contact hello@endjin.com with any additional questions or comments.
A list of people who have contributed to the development of Reaqtor is featured in A History of Reaqtor, by Bart De Smet.